package com.whfc.mach.service;

import com.whfc.common.exception.BizException;
import com.whfc.mach.dto.MachValidFenceDTO;
import com.whfc.mach.dto.strategy.MachStrategyDTO;

import java.util.List;

/**
 * @author sun_guodong
 * @description 设备模块配置
 * @date 2021-01-25
 */
public interface AppMachConfigService {

    /**
     * 刷新设备PolygonWKT缓存
     *
     * @param deptId
     * @throws BizException
     */
    void refreshPolygonWKT(Integer deptId) throws BizException;

    /**
     * 获取设备计算策略配置
     *
     * @param deptId 组织机构ID
     * @return 设备计算策略
     * @throws BizException 业务异常
     */
    List<MachStrategyDTO> getStrategyConfig(Integer deptId) throws BizException;

    /**
     * 设置设备计算策略
     *
     * @param deptId 组织机构ID
     * @param list   计算策略配置
     * @throws BizException 业务异常
     */
    void strategyConfigure(Integer deptId, List<MachStrategyDTO> list) throws BizException;

    /**
     * 查找有效电子围栏列表
     *
     * @param deptId 组织机构ID
     * @return 有效电子围栏列表
     */
    List<MachValidFenceDTO> getMachValidFenceList(Integer deptId);

    /**
     * 设置有效电子围栏
     *
     * @param deptId 组织机构ID
     * @param list   电子围栏列表
     */
    void setMachValidFence(Integer deptId, List<MachValidFenceDTO> list);


}
